package control

import "jvmgo/ch05/instructions/base"
import (
	"jvmgo/ch05/rtda"
	"fmt"
)

// Return void from method
type RETURN struct{ base.NoOperandsInstruction }
//还没有真正实现方法的调用，这里弹出Frame对于return指令来说，实现上是正确的，但由于rtda没有实现多frame，所以有问题。
func (self *RETURN) Execute(frame *rtda.Frame) {
	//这才是_return的正确实现
	//frame.Thread().PopFrame()
	//这是为本章的一个定制实现，而且是特别针对AddNoFunctionCall这个java文件实现
	add := frame.LocalVars().GetInt(2)
	fmt.Printf("this is _return instruction execution thre sum of 5 + 6 = ------%v \n",add)
}

